1. Field of the Invention
The invention relates to a method of transmitting packets of data in a telecommunication network and to a system for implementing that method, in particular for analyzing the network in the event of a malfunction.
2. Description of the Prior Art
In a telecommunication network such as the Internet, information can be sent from a sender to a receiver in the form of packets, a packet being a group of data having a format defined by the communication protocol of the network and provided with a header in which the addresses of the sender and receiver of the packet are indicated.
The packet is transmitted in the network via different nodes of the network, a node being an element able to read the address of the receiver of a packet to forward the packet to a subsequent node so that, by repeating these forwarding operations from node to node, the packet is transmitted from the sender to the receiver along an optimum route in the network in terms of distance, time and congestion, for example.
Consequently, the nodes of a network are called routers. In the case of the Internet, when a first router receives a packet intended for an address coded in accordance with the Internet Protocol (IP), that router consults internal routing tables associating groups of IP addresses of receivers with one or more IP addresses of second routers to which this first router can forward this packet.
Accordingly, as a function of its routing tables, the first router transmits the received packet to a second router, this routing mode being referred to hereinafter as the dynamic routing mode.
In other words, the route for routing packets between the nodes of the network is not predetermined because the routers are configured to route the packets optimally as a function of the network traffic, for example. In this case, the second server selected by a first server for the transmission of a packet varies as a function of the network traffic conditions.
Moreover, a packet of data may be lost if a first node directs that packet to a second node when the connection between these nodes is interrupted or when the first node has a configuration error in its routing table, as a result of which the pocket of data is not transmitted or is forwarded to a non-existent node.
If this kind of malfunction occurs, it is necessary to warn the sender of the packet that it has not reached its receiver.
To this end, it is known in the art to use a method referred to hereinafter as the “ping” method that consists in sending a packet with no particular content to a receiver so that, on receiving this packet, the latter returns an acknowledgement or response to the sender.
In the case of the Internet, the ping method consists in sending from a sender A to a receiver B a packet comprising a request that is called the ECHO_REQUEST message when it is sent and is defined by the Internet Control Message Protocol (ICMP).
When the receiver B receives the request, it sends a response called the ECHO_REPLY message to the sender A, interchanging the addresses of the sender and receiver in the header of the packet sent, compared to the ECHO_REQUEST message, this method checking for correct operation of the system at the point B.
The present invention stems from the observation that, if a connection between two routers is broken, a packet may be lost when the response is transmitted, in which case it is not possible for the sender of the request to be advised of the origin of the incident.
In fact, the sender of the response is the receiver of the request, and so the error message arising from the loss of this response is delivered to the receiver of the request and not to its sender.
This situation is depicted in FIG. 1, which represents a network 100 that consists of routers 103, 104 and 105 and in which communication is based on the Internet Protocol (IP). Each router forms the interface between two subnetworks with its own address in each of those subnetworks and terminals 101 and 102 each having a unique IP address.
A request 110 is sent from the terminal 101 to the terminal 102 via the routers 103, 104 and 105. To this end, these routers 103, 104 and 105 use their respective routing tables 113, 114 and 115 and the address 10.0.0.99 of the sender and the address 10.0.3.99 of the receiver of the request 110.
Accordingly, this request 110 is sent to the first router 103 with the addresses 10.0.0.1 and 10.0.1.1, its routing table 113 telling it that messages sent to the addresses 10.0.3.x, where x is an integer from 0 to 255, must be routed to the router with the address 10.0.1.2, i.e. the router 104.
An operation of reading routing tables of this kind is then repeated in the routers 104 and 105 in succession, with the result that the request 110 reaches the terminal 102 of the network with the address 10.0.3.99.
After receiving the request 110, the terminal 102 sends a response 111 giving its own address 10.0.3.99 as the sender address and the address 10.0.0.99 of the terminal 101 as the receiver address.
However, the routing table of the router 104 has a configuration error on the route of the response 111. In fact, its routing table does not specify how messages with addresses 10.0.0.x are to be routed, and the response 111 is therefore lost.
In this case, the server 105 sends an error message 117, but it sends it to the sender of the response 111, i.e. to the receiver 102 of the request.
Thus the sender of the request (terminal 101) is not able to identify the network malfunction.
The present invention aims to solve this problem by using a method such that, if the network malfunctions during the transmission of a response to a request, the sender of the request is informed of the malfunction.